#ifndef __273520E4_AD25_43bd_95F0_195FAE963CF1__
#define __273520E4_AD25_43bd_95F0_195FAE963CF1__

#include "../import/head.h"
#include "../tools/head.h"

/////////////////////////////////////////////////////////////////////////////////////////
// 

namespace xos
{
    class aio_impl;
    class msg_impl;
    class aio_key;

    class aio_tcp
    {
    public:
        aio_tcp( aio_impl * pAioImpl );
        ~aio_tcp();

    protected:
        aio_impl * m_pAioImpl;

    public:
        int user_init_server( msg_impl * lpMsg );
        int close_handle( msg_impl * lpMsg );
        int user_accept( msg_impl * lpMsg );
        int user_connect( msg_impl * lpMsg );
        int user_send( msg_impl * lpMsg );
        int user_recv( msg_impl * lpMsg );

        int tcp_recv_connect( aio_key * lpKey, int nFilter );
        int tcp_accept( aio_key * lpKey, int nFilter );
        int tcp_recv( aio_key * lpKey );
        int tcp_send( aio_key * lpKey );
        int tcp_error( aio_key * lpKey );
    };
} // xos

#endif // __273520E4_AD25_43bd_95F0_195FAE963CF1__
